//
// SmartDec decompiler - SmartDec is a native code to C/C++ decompiler
// Copyright (C) 2015 Alexander Chernov, Katerina Troshina, Yegor Derevenets,
// Alexander Fokin, Sergey Levin, Leonid Tsvetkov
//
// This file is part of SmartDec decompiler.
//
// SmartDec decompiler is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// SmartDec decompiler is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with SmartDec decompiler.  If not, see <http://www.gnu.org/licenses/>.
//

#include "Statement.h"

namespace nc {
namespace core {
namespace ir {

std::unique_ptr<Statement> Statement::clone() const {
    std::unique_ptr<Statement> result(doClone());

    if (instruction()) {
        result->setInstruction(instruction());
    }

    return result;
}

void Statement::visitChildTerms(Visitor<Term> & /*visitor*/) {
    /* Nothing to do */
}

void Statement::visitChildTerms(Visitor<const Term> & /*visitor*/) const {
    /* Nothing to do */
}

} // namespace ir
} // namespace core
} // namespace nc

/* vim:set et sts=4 sw=4: */
